Ana içeriğe geç

Akış Tarafında kodla Datagridin Satırlarını Gezme ve Hücrelerine Erişme

Gerekli kütüphaneler:

using Bimser.Synergy.Entities.Workflow.EventArguments;
using System;
using Bimser.CSP.Runtime.Common.Extensions;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Bimser.Synergy.ServiceAPI.Models.Form;
using Bimser.Synergy.Entities.Shared.Business.Objects;

Fonksiyon1 nesnesi Execute eventi:

public void Function1_Execute(object sender,OnExecuteEventArguments args)
{
Control gridControl = Document1.Controls["DataGrid1"]; //datagrid Control tipindeki değişkene atanır.

//Hücrelere indisleriyle ulaşma

GridData dataGrid1 = GridData.FromControl(gridControl); //control değişkeni GridData olarak alınmalıdır.

var grid1Rows = dataGrid1.Rows; //datagridi tüm satırları yakalanır.
foreach(var row in grid1Rows) //satırlar döngü ile gezilir.
{
LogExtension.Log(row.Cells[1]?.Value,args.Context); //1.indisli hücrenin Value değerini konsola yazar.
LogExtension.Log(row.Cells[1]?.Text,args.Context); //1.indisli hücrenin Text değerini konsola yazar.
}

//Hücrelere isimleriyle ulaşma

var Jgrid1Rows = gridControl.Value as JArray; //control değişkeninin Value değeri JSON dizisi olarak alınır.
foreach(var jRow in Jgrid1Rows) //JSON dizisi olan satırlar döngü ile gezilir.
{
JObject joRow = JObject.Parse(jRow.ToString()); //satırın verilerini içeren JSON string, JObject nesnesine dönüştürülür ve joRow değişkenine atanır.
LogExtension.Log(joRow.SelectToken("$..cells[?(@.name == 'Kolon1')].value")?.ToString(),args.Context); //Kolon1 isimli hücrenin Value değerini string olarak konsola yazar.
}
}